package moj_pakiet;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class Stanowisko {
	public int idStanowiska;
	public String nazwaStanowiska;
	public double minPensja;
	
	public Stanowisko(){}
	public Stanowisko(int idStanowiska, String nazwaStanowiska, double minPensja){
		this.idStanowiska=idStanowiska;
		this.nazwaStanowiska=nazwaStanowiska;
		this.minPensja=minPensja;
	}
	
	public boolean pobierzDaneStanowiskaPoId(int idStanowiska) throws SQLException{	
		String nazwabazy="baza.db";
		
		try {
			Class.forName("org.sqlite.JDBC");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			return false;
		}

	Connection polaczenie=null;
	try {
		polaczenie = DriverManager.getConnection("jdbc:sqlite:"+nazwabazy);
	} catch (SQLException e) {
		e.printStackTrace();
		return false;
	}
	 java.sql.Statement statement = null;
	try {
		statement = polaczenie.createStatement();
	} catch (SQLException e) {
		e.printStackTrace();
		return false;
	}
	 try {
		statement.setQueryTimeout(30);
	} catch (SQLException e) {
		e.printStackTrace();
		return false;
	}
	     
	ResultSet wynik = null;
	try {
		wynik = statement.executeQuery("select * from stanowiska where idStanowiska="+this.idStanowiska);
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

	this.idStanowiska= wynik.getInt("idStanowiska");
	this.nazwaStanowiska= wynik.getString("nazwaStanowiska");
	this.minPensja= wynik.getDouble("minPensja");

	polaczenie.close();
		
		return true;
	}
	
	public boolean stanowiskoDodajDoBazy() throws SQLException{
		try {
			Class.forName("org.sqlite.JDBC");
		} catch (ClassNotFoundException e) {		
			e.printStackTrace();
			return false;
		}
		String nazwaBazy="baza.db";
		Connection polaczenie=null;
		try {
			polaczenie = DriverManager.getConnection("jdbc:sqlite:"+nazwaBazy);
		} catch (SQLException e) {
		
			e.printStackTrace();
		}
	    	
		Statement dodajWpis = null;
		try {
			dodajWpis = polaczenie.createStatement();
		} catch (SQLException e) {
				e.printStackTrace();
		}
		
		
		dodajWpis.executeUpdate("INSERT INTO stanowiska VALUES ('"+this.idStanowiska+"','"
							+this.nazwaStanowiska+"','"+this.minPensja+"' );");
		
		polaczenie.close();
		return true;
	}
	public boolean stanowiskoUsunZBazy() throws SQLException{
		String nazwabazy="baza.db";
		
		try {
			Class.forName("org.sqlite.JDBC");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
		
		Connection polaczenie=null;
		polaczenie = DriverManager.getConnection("jdbc:sqlite:"+nazwabazy);
		
		Statement usunWpis=polaczenie.createStatement();
		usunWpis.executeUpdate("DELETE FROM stanowiska where idStanowiska="+this.idStanowiska);

		polaczenie.close();
		return true;
	}
	public boolean stanowiskoZmienWBazie() throws SQLException{
		String nazwabazy="baza.db";
		
		try {
			Class.forName("org.sqlite.JDBC");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}

		Connection polaczenie=null;
		try {
			polaczenie = DriverManager.getConnection("jdbc:sqlite:"+nazwabazy);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		Statement zmienWpis=polaczenie.createStatement();

		zmienWpis.executeUpdate("update stanowiska set nazwaStanowiska='"+this.nazwaStanowiska +
				"',minPensja='"+ this.minPensja+
				"' where idStanowiska='"+this.idStanowiska+"'" );

		polaczenie.close();
		return true;
	}
	
}
